図1.秋月電子通商のDDSキット
このDDSキットを、周波数設定の心臓部ともいえるPLL回路の基準発振器として応用しましょう!
すなわち、PLL+DSSという豪華な発振回路を作って、DDS単体では最高周波数が17.5MHz以下しか出ないとか、波形の歪みが大きいといった欠点を解消します。是非、応用テクニックをマスターし、DDSキットの性能をUPさせてください。
(注)秋月にはDDSコントロールキットもありますが、当ホームページでご紹介するマイコン制御部は、PLLと組み合わせてコントロールする回路を別途製作しますので、DDSコントロールキットは必要ありません。
DDSの基本動作
まずDDSの製作に入る前に、DDSの基本について把握しておきましょう。
DDSとは,ダイレクト・ディジタル・シンセサイザ(Direct Digital Synthesizer)の略で,日本語訳はディジタル直接合成発振器となります。図2に一般的なDDSのブロック図と、図3に動作図を示します。DDSは,基準クロック,アドレス演算器,1周期分の波形データをもった波形メモリ,D−Aコンバータ,LPF(Low-Pass
Fi1ter)により構成されます。
![]() |
図2.一般的なDDSのブロック図 |
![]() |
図3. DDSの基本動作 |
動作原理はつぎのようになります。
まず,基準クロックを用いてリアルタイムで位相を求めるアドレス演算器によりアドレスを発生します。波形メモリには1周期分の波形が記憶されているので,波形メモリのアドレスは波形の位相に相当します。基準クロックに同期して,波形メモリからデータを呼び出し,そのデータをD−AコンバータおよびLPFによりアナログ波形に変換します。アドレス演算器は,Yの値でオーバ・フローするNビットのフルアダーとラッチにより構成され,基準クロックFclkに同期して位相増加分Xを積算します。これをフェーズ・アキュムレータといいます。
出力周波数Foutはつぎの式で得られます。
Fout=(X/Y)×Fclk ・・・式(1)
たとえぱ10ビットのフェーズ・アキュムレータを使用し,基準クロックを10.24MHzとすれぱ,
Y=2の10乗=1024
Fclk=10.24MHz
X=1とすると,
Fout=(1/1024)×10.24MHz
=10kHz
X=33とすると,
Fout=(33/1024)×10.24MHz
=330kHz
X=200とすると,
Fout=(200/1024)×10.24MHz
=2MHz
このように,位相増加分Xの値を設定するだけで任意の周波数Foutを発生することができます。
ここで,設定可能な下限周波数と周波数分解能Fresは,
Fres=Fclk/Y ・・・式(2)
で表されます。
したがって,原理的にはYの値を大きくしていけぱ分解能はいくらでも高くすることができます。
また,上限周波数はDDSのサンプリング周波数fsで決定され,原理的にはサンプリング定理によるfs/2ですが,信号源としての波形品位(アンチエイリアシング・フィルタのしゃ断特性や周波数特性,スプリアスなど)を確保するためには,fs/4以下が実用範囲となります。したがって、数十MHz程度の発振回路に制限され、周波数が高くなるほど波形品位は低下します。
まず秋月のDDSキットを組み立てる前に・・・
製作の前に、マイコンとのインターフェースを決めておきましょう。DDSキットは使用用途に応じてパラレル及びシリアルコントロールモードが選択できます。AKI−H8などのI/Oポートが豊富なマイコンでしたらパラレル・モードでも良いかと思います。パラレル・モードにすると、P0(LSB)〜P25(MSB)の26ポート必要になります。秋月としてはパラレル・モードの場合は、オンボードのディップスイッチを付け、スタンドアローンで使うことを想定しているようです。マイコンなどで外部からコントロールする場合はシリアル・モードを推奨しているようです。設定の切り替えはジャンパーピンで行います。ここでは接続が簡単のため、シリアルモードを前提に作製していきます。
DDSキットに付属のパーツは評価用に選定されてもので、実際には使用目的に応じて定数を変更する必要があります。具体的に大きく分けて無線などの高周波領域、オーディオ等の低周波領域の2通りがありますが、キットでは高周波向けのセットになっているようです。
DDSキットの特徴
ウエルパイン社製DDS用LSIの仕様
1 | 最高クロック周波数:70MHz保証 |
2 | 出力周波数:DC〜17.5MHz |
3 | 1Hzステップ分解能(クロック67.108864MHz時) |
4 | 80ピンQFP(小型パッケージ) |
5 | 4値までのFSK用メモリー切り替えが可能 |
6 | 周波数コントロールは、シリアル入力、パラレル入力どちらでも可能 |
7 | 単独の高速位相比較器を内蔵(最高20MHzまで) |
8 | 10ビットD/Aコンバータに対応 |
9 | シリアル入力モード時、4ビットの汎用出力ポートに、シリアルにてデータ出力が可能 |
10 | シリアル入力モード時、8個まで共通データラインにてコントロールが可能 |
11 | 寸法 プラスティックパッケージ部:12mm×12mm リードを含めた最大寸法: 14mm×14mm リードピッチ: 0.5mm パッケージ厚さ 1.85mm |
12 | 動作電圧:5V±10% |
13 | 動作電流:TYP.76mA(クロック70MHz時) |
DDS−LSIは、シリアルモード時には、コマンドにて1〜4CH間でのメモリーに、書き込み、読み出しが単独又は、連動して行えます。例えば、1CHに書き込んで、それと同時に1CHを読み出すコマンド(コマンドC)を使えば、書き込んだ周波数が直ちに出力されます。1CHを読み出しに指定しておき(コマンド8)、2CHに周波数を書き込む(コマンド5)と、出力は1CHの周波数のまま変化しません。このメモリーを利用すると、1〜4CHまでに予め異なる周波数を書き込んでおき、読み出すメモリを変えることにより、FSKなどに利用できます。また、出力を止めたいときには、DA−OFFのコマンド(コマンド0)を、出力を再開したいときには、DA−ONのコマンド(コマンド1)で可能です。
ウエルパイン社製DDS用LSIのピン配置
![]() |
図4.DDS用LSIチップのピン配置図 |
ウエルパイン社製DDS用LSIのピン・ファンクション
ピンNo. | 名称 | 機能 | 備考 |
1 | VDD | +5V入力 | |
2 | DST | シリアル入力用 ストローブ入力 | シリアル入力時にマイコンでコントロール |
3 | DDT | シリアル入力用 データ入力 | |
4 | DCK | シリアル入力用 クロック入力 | |
5 | RES2 | Lレベルでリセット(フェーズ・アキュムレータ以外のリセット) | |
6 | RES1 | Lレベルでリセット(フェーズ・アキュムレータのみのリセット) | |
7 | S/P | Lレベルでシリアル入力モード | |
8 | MR1 | メモリ・リード・アドレス1 | パラレル入力時のリードするメモリを セレクトする入力(1〜4CH) |
9 | MR2 | メモリ・リード・アドレス2 | |
10 | MW1 | メモリ・ライト・アドレス1 | パラレル入力時のライトするメモリを セレクトする入力(1〜4CH) |
11 | MW2 | メモリ・ライト・アドレス2 | |
12 | VSS | GND | |
13 | P01 | 汎用パラレル出力1 | シリアル入力コマンドでセット可 |
14 | P02 | 汎用パラレル出力2 | |
15 | P03 | 汎用パラレル出力3 | |
16 | P04 | 汎用パラレル出力4 | |
17 | CS0 | チップセレクト0 | 0〜7までセット可。 シリアル入力のアドレスと一致した時のみ、 シリアル入力は有効。 パラレルモード時はすべてGNDにつなぐ |
18 | CS1 | チップセレクト1 | |
19 | CS2 | チップセレクト2 | |
20 | CLK | クロック入力 | X'TAL OSCの出力を入力する |
21 | VDD | +5V | |
22 | DA0 | DA出力0(LSB) | DAコンバータへつなぐ |
23 | DA1 | DA出力1 | |
24 | VSS | GND | |
25 | DA2 | DA出力2 | DAコンバータへつなぐ |
26 | DA3 | DA出力3 | |
27 | VDD | +5V | |
28 | DA4 | DA出力4 | DAコンバータへつなぐ |
29 | DA5 | DA出力5 | |
30 | VSS | GND | |
31 | DA6 | DA出力6 | DAコンバータへつなぐ |
32 | DA7 | DA出力7 | |
33 | VDD | +5V | |
34 | DA8 | DA出力8 | DAコンバータへつなぐ |
35 | DA9 | DA出力9(MSB) | |
36 | VSS | GND | |
37 | N.C | ノンコネクト | |
38 | TEST | GNDにする | |
39 | PD1 | 位相比較器信号入力 | |
40 | VSS | GND | |
41 | VDD | +5V | |
42 | PDR | 位相比較器 基準位相入力 | |
43 | VSS | GND | |
44 | UL | アンロック出力 | アクティブ L |
45 | PDH | 位相比較出力 | PDI入力 進相時 H |
46 | TRI | 位相比較トライステート出力 | PDI入力 進相時 H |
47 | PDL | 位相比較出力 | PDI入力 遅相時 H |
48 | VDD | +5V | |
49 | TEST29 | パラレルモード時:GND,シリアルモード時:オープン | |
50 | TEST30 | パラレルモード時:GND,シリアルモード時:オープン | |
51 | TEST31 | パラレルモード時:GND,シリアルモード時:オープン | |
52 | VSS | GND | |
53 | P0 | パラレル入力0(LSB) | パラレル入力モード時のみ有効 シリアルモード時は、浮かしておくこと |
54 | P1 | パラレル入力1 | |
55 | P2 | パラレル入力2 | |
56 | P3 | パラレル入力3 | |
57 | P4 | パラレル入力4 | |
58 | P5 | パラレル入力5 | |
59 | P6 | パラレル入力6 | |
60 | P7 | パラレル入力7 | |
61 | P8 | パラレル入力8 | |
62 | P9 | パラレル入力9 | |
63 | P10 | パラレル入力10 | |
64 | P11 | パラレル入力11 | |
65 | P12 | パラレル入力12 | |
66 | P13 | パラレル入力13 | |
67 | P14 | パラレル入力14 | |
68 | P15 | パラレル入力15 | |
69 | P16 | パラレル入力16 | |
70 | P17 | パラレル入力17 | |
71 | P18 | パラレル入力18 | |
72 | P19 | パラレル入力19 | |
73 | VDD | +5V | |
74 | P20 | パラレル入力20 | パラレル入力モード時のみ有効 シリアルモード時は、浮かしておくこと |
75 | P21 | パラレル入力21 | |
76 | P22 | パラレル入力22 | |
77 | P23 | パラレル入力23 | |
78 | P24 | パラレル入力24 | |
79 | P25 | パラレル入力25 | |
80 | VSS | GND |
(注意事項) この注意事項は、必ず守ってください。
DDSキット回路図
![]() |
図5. DDSキット回路図 |
番号 | 名称 | 機能 | 番号 | 名称 | 機能 |
1 | STB | シリアル入力用 ストローブ DST | 9 | P24 | パラレル入力 24 |
2 | DATA | シリアル入力用 データ DDT | 10 | PDL | 位相比較出力(進相時H) |
3 | SCK | シリアル入力用 クロック DCK | 11 | TRI | 位相比較トライステート出力 |
4 | GND | シリアル入力用 グランド | 12 | PDH | 位相比較出力(遅相時L) |
5 | PO1 | 汎用パラレル出力1 | 13 | U.L | アンロック出力 |
6 | PO2 | 汎用パラレル出力1 | 14 | PDR | 基準位相入力 |
7 | PO3 | 汎用パラレル出力1 | 15 | PDI | 位相比較器信号入力 |
8 | PO4 | 汎用パラレル出力1 | 16 | OUT | DDS信号出力 |
17 | RESET | 外部リセット入力 |
DDSキットで使用する端子はシリアルモードですので、(1)STB、(2)DATA、(3)SCKの3つの入力信号及び(4)GND端子をPICマイコン等へ接続します。出力は(16)OUTからDDS信号を取り出します。
DDSキット・パーツリスト
部品名 | 記号 | 個数 | 備考 |
<基板> AE-DDS基板本体 |
1 | DDS(U1),D/A(U2) 実装済 |
|
<半導体> S8054 2SK125 |
U3 Q1 |
1 1 |
リセットIC FET |
<オシレータ> 16MHz 67.108864MHz |
X1 X1 |
1 1 |
評価用オシレータ 実装用オシレータ |
<コンデンサ> 10μF 1μF 470μF 1000pF |
C10,C11 C1〜C7 C12,C15 C8,C9,C13,C14 |
2 7 2 4 |
電解 積層セラミック セラミック セラミック |
<コイル> 1μH |
L1〜L3 |
3 |
マイクロインダクタ |
<抵抗> 10Ω 100Ω 1kΩ 1.5kΩ 10kΩ 100kΩ 集合抵抗(10kΩ) |
R17 R18 R16 R15 R1〜R14 R19,R20 RA1〜RA3 |
1 1 1 1 14 2 3 |
1/8W型 〃 〃 〃 〃 〃 8素子内蔵タイプ |
<その他の部品> DIPスイッチ |
SW1〜SW3 |
3 |
8回路入タイプ |
その他パーツのピン配置
![]() |
![]() |
![]() |
![]() |
図6. パーツのピン配置図 |
それでは秋月のDDSキットを組み立てよう!
当キットの製作例は、シリアルコントロールモードとして組み立てます。シリアルモードではディップスイッチを除くすべての部品を取り付けることになります。但し、ローパスフィルタ部(L1〜L3,C12〜C15)は使用周波数によって部品を設定する必要があります。
P0〜P25のパラレル入力はすべて出力となりますので、もしディップスイッチを付けてしまっている場合には、必ず全ての(24ヶ)のスイッチをOFFの状態にしてください。ONのままですとデバイスを破壊してしまうかもしれません。各部品とも極力足を短く取り付けます。シリアル/パラレル設定ジャンパーは、シリアル側(基板上に S のシルク)をジャンパーします。チップセレクト端子(CS0〜CS2)は、オープンでかまいません。
X’talオシレータ(X1)は、シルク印刷のマーク印●が1番ピンになります。図6のX’talオシレータの1番ピンの配置ですが、部品の四隅をよく見ると、角が1カ所だけ丸くない部分があります。実装用オシレータ(67.108864MHz)を取り付けます。出力はOUT端子、電源は電源端子(+5V)です。シリアル入力端子にPICマイコン等からの信号線を入力します。
ローパスフィルタの設計
D/Aコンバータの出力の後には、2SK125からなるソースフォロワのバッファアンプ回路が入り、3次のπ型ローパスフィルタにより基本波(出力周波数)の高次を除去しています。ローパスフィルタ部(L1〜L3,C12〜C15)は使用周波数によって部品を設定する必要があります。実装用オシレータ(67.108864MHz)を取り付けるため、最高周波数で約17MHz(16.777215MHz)までとなります。よってカットオフ周波数fc=17MHzとして設計します。算出方法は以下のようにします。
(1)インダクタンスの算出
L1 = L2 = L3 = Z/2πfc ≒ 0.5μH
(2)キャパシタンスの算出
C12 = C13/2 = C14/2 = C15 = 1/2πfcZ ≒ 180pF
但し、Z=50Ω、fc=17.5MHzとする。
(注意)
ところで表4のパーツリストですが、秋月付属のL1〜L3,C12〜C15は、fc=8MHzを前提にして設計された部品なので取り付けられません。付けた場合には、8MHz以上の発振周波数は減衰してしまいます。
![]() |
![]() |
![]() |